// Should indicate that no value is returned (void)
export function test() {
  return;
}

// Should indicate that a string is returned
export const arrowFn = () => 'test';

// All arguments should be typed
export const arrowFn = (arg): string => `test ${arg}`;
export const arrowFn = (arg: any): string => `test ${arg}`;

export class Test {
  // Should indicate that no value is returned (void)
  public method() {
    return;
  }
}

export function test(a: number, b: number) {
  return;
};

export function test() {
  return;
};

export var fn = function () {
  return 1;
};

export var arrowFn = () => 'test';


export class Test {
  constructor() {}
  get prop() {
    return 1;
  }
  set prop(value) {}
  method() {
    return;
  }
  arrow = arg => 'arrow'; 
  private method() {
    return;
  }
  abstract abs(arg);
};

export class Foo {
  public a = () => {};
  public b = function () {}; 
  public c = function test() {}; 

  static d = () => {};
  static e = function () {}; 
}




export class Test {
  constructor(
  public foo,
  private ...bar,
  ) {}
}

export function fn(test): string {
  return '123';
};

export const fn = (one: number, two): string => '123';

const foo = arg => arg;
export default foo;

const foo = arg => arg;
export = foo;

const foo = arg => arg;
export default [foo];

const foo = arg => arg;
export default { foo };

function foo(arg) {
  return arg;
}
export default foo;

function foo(arg) {
  return arg;
}
export default [foo];

function foo(arg) {
  return arg;
}
export default { foo };


const bar = function foo(arg) {
  return arg;
};
export default { bar };

class Foo {
  bool(arg) {
    return arg;
  }
}
export default Foo;

class Foo {
  bool = arg => {
    return arg;
  };
}
export default Foo;

class Foo {
  bool = function (arg) {
    return arg;
  };
}
export default Foo;

class Foo {
  bool = function (arg) {
    return arg;
  };
}
export default [Foo];

let test = arg => argl;
test = (): void => {
  return;
};
export default test;

let test = arg => argl;
test = (): void => {
  return;
};
export { test };

export function foo({ foo }): void {} 
export function foo([bar]): void {}

export function foo(...bar): void {}

export function foo(...[a]): void {}
